var NUM_DECIMALES_PRECIO = 2;
var NUM_DECIMALES_KM = 3;
var contaTITrabajos = 1;
var verificar = false;

var IGV = 18;

var trabajosRealizadosArrayJSON = [];
var trabajosRealizadosEliminadosArrayJSON = [];

var trabajoRealizadoJSON = {idOrdenTrabajoDetalle:'',descripcionTrabajo:'',cantidad:'',costoTrabajo:'',subTotal:'',igvTrabajo:'',total:'',indicadorDB:'0'};

var trabajoRealizadoEstructuraJSON = {
	descripcionTrabajo:{element:"input",type:"text",name:"descripcionTrabajo",maxLength:200,size:10,style:"width:96%;text-align:left;",className:"descripcionTrabajo",onblur:"fnEscribirValor(this);fnCambiarInputDiv(this);",onchange:"fnEscribirValor(this);",onkeyup:"" ,onkeypress:""},
	cantidad:{element:"input",type:"text",name:"cantidad",maxLength:3,size:3,style:"width:96%;text-align:left;",className:"cantidad",onblur:"fnEscribirValor(this);fnCambiarInputDiv(this);",onchange:"fnEscribirValor(this);",onkeyup:"return fn_validarNumeros(event);" ,onkeypress:"return fn_validarNumeros(event);"},
	costoTrabajo:{element:"input",type:"text",name:"costoTrabajo",maxLength:10,size:10,style:"width:70px;text-align:right;",className:"costoTrabajo",onblur:"fnCambiarInputDiv(this);",onchange:"fnRedondeoNumeroDecimal(this,"+NUM_DECIMALES_PRECIO+");",onkeyup:"return fnValidaSoloDecimal(event,this);" ,onkeypress:"return fnValidaSoloDecimal(event,this);"}
};

///FUNCIONES DE TABLAS
function fnCargarTablaTrabajosRealizados(ordenDetallesArrayJSON){
	trabajosRealizadosArrayJSON = ordenDetallesArrayJSON;
	
	var i = 0;
	var dim = trabajosRealizadosArrayJSON.length;
	
	if(dim > 0){
		$("#tablaTrabajos #filaVacia").remove();

		var filas = "";
		while(i<dim){
			var objJSON = trabajosRealizadosArrayJSON[i];
			filas = filas + fnCrearFilaTrabajo(objJSON);
			i = i + 1;
		}
		
		$("#tablaTrabajos > tbody").append(filas);
	}
}

function fnObtenerEstructura(className,descripcion) {
    var estructuraJSON = {};
    
    if(className == "trTrabajoRealizado") {
        estructuraJSON = $.extend({}, estructuraJSON, trabajoRealizadoEstructuraJSON);
    }
 
    return estructuraJSON[descripcion];
}

function fnAgregarFilaTrabajo(){
	fnAgregarFilaArrayJSON(trabajosRealizadosArrayJSON,trabajoRealizadoJSON);
	var fila = fnCrearFilaTrabajo(trabajoRealizadoJSON);
	$("#tablaTrabajos #filaVacia").remove();
	$("#tablaTrabajos > tbody").append(fila);
}

function fnCrearFilaTrabajo(objJSON){
	
	var disabled = "";
	
	if(verificar){
		disabled = 'disabled="disabled"';
	}
    var fila ='<tr class="trTrabajoRealizado">'+
		'<td class="celdaTablaExcel" height="20"><input '+disabled+' type="checkbox" name="checkTrabajoRealizado" class="checkTrabajoRealizado" /></td>'+
		'<td class="celdaTablaExcel" height="20"><div tabindex="'+ contaTITrabajos++ +'" class="descripcionTrabajo" onfocus="if(!verificar){fnCambiarInput(this);}">'+objJSON.descripcionTrabajo+'</div></td>'+
		'<td class="celdaTablaExcel" height="20"><div tabindex="'+ contaTITrabajos++ +'" class="cantidad" onfocus="if(!verificar){fnCambiarInput(this);}">'+objJSON.cantidad+'</div></td>'+
	    '<td class="celdaTablaExcel" height="20"><div tabindex="'+ contaTITrabajos++ +'" class="costoTrabajo" onfocus="if(!verificar){fnCambiarInput(this);}">'+objJSON.costoTrabajo+'</div></td>'+
	    '<td class="celdaTablaExcel celdaDeshabilitada" height="20"><div class="subTotal">'+objJSON.subTotal+'</div></td>'+
	    '<td class="celdaTablaExcel celdaDeshabilitada" height="20"><div class="igvTrabajo">'+objJSON.igvTrabajo+'</div></td>'+
    	'<td class="celdaTablaExcel celdaDeshabilitada celdaTablaExcelFinal" height="20"><div class="total">'+objJSON.total+'</div></td>'+
	    '</tr>';

    return fila;
}

function fnEliminarFilaTrabajoRealizados(){
	
	var arrayCheckbox = $('#tablaTrabajos .checkTrabajoRealizado');
	var objResultado = fnObtenerCheckedNoChecked(arrayCheckbox);
	var arrayChecked = objResultado["arrayChecked"];
	
	var dimCheck = arrayChecked.length;
	var detallesListNuevo = [];
	var detallesListEliminados = [];
	
	var trFilas = $("#tablaTrabajos > tbody").find("tr");
	//Eliminando la fila en vista
	for(var i = 0;i<dimCheck;i++){
		$(trFilas).eq(arrayChecked[i]).remove();
	}

	var trFilasRestantes = $("#tablaTrabajos > tbody").find("tr");
	if(trFilasRestantes.length == 0){
		$("#tablaTrabajos > tbody").append('<tr id="filaVacia"><td class="celdaTablaExcel celdaTablaExcelFinal" colspan="7">No hay trabajos realizados</td></tr>');
	}
	
	//Eliminando en el array JSON
	var dimDetalles = trabajosRealizadosArrayJSON.length;
	for(var i = 0;i<dimDetalles;i++){
		var j = 0;
		var encontrado = false;
		while(j<dimCheck && !encontrado){
			if(i == arrayChecked[j]){
				encontrado = true;
			}
			j = j + 1;
		}
		
		//Si no se encuentra en el array de checks se copia
		if(!encontrado){
			detallesListNuevo.push(trabajosRealizadosArrayJSON[i]);
		}else{
			detallesListEliminados.push(trabajosRealizadosArrayJSON[i]);
		}
	}

	trabajosRealizadosArrayJSON = detallesListNuevo;
	trabajosRealizadosEliminadosArrayJSON = detallesListEliminados;
	fnCalcularMontoTotal();
}

function fnEscribirValor(input) {    
    var td = $(input).parent('td');    
    var tr = $(td).parent('tr');    
    var fila = $(tr).index();   
  
    var valorActual = trabajosRealizadosArrayJSON[fila][input.name];
    var valorNuevo = input.value;
    if(valorActual!=valorNuevo){
        trabajosRealizadosArrayJSON[fila][input.name] = input.value;

        if(input.name == "cantidad" || input.name == "costoTrabajo"){
        	fnCalcularTotalesFila(tr);
        	fnCalcularMontoTotal();
        }
        trabajosRealizadosArrayJSON[fila]["indicadorDB"] = "1";
    }
}

function fnCalcularTotalesFila(tr){
	
	var fila = $(tr).index();
	var objJSON = trabajosRealizadosArrayJSON[fila];
	
	var aplicaIgv = $("#aplicaIgv").val();
	var usarIgv = (aplicaIgv == "S")?true:false;
	
	var strCantidad = objJSON["cantidad"];
	var strCostoTrabajo = objJSON["costoTrabajo"];
	var costoTrabajo = (strCostoTrabajo!="")?parseFloat(strCostoTrabajo):0.0;
	var cantidad = (strCantidad!="")?parseInt(strCantidad):0;
	
	var subTotal = cantidad * costoTrabajo;

	var igvTrabajo = 0;
	if(usarIgv){
		igvTrabajo = (IGV * subTotal)/100;
	}
	
	var total = subTotal + igvTrabajo;
	
	subTotal = subTotal.toFixed(NUM_DECIMALES_PRECIO);
	igvTrabajo = igvTrabajo.toFixed(NUM_DECIMALES_PRECIO);
	total = total.toFixed(NUM_DECIMALES_PRECIO);
	
	trabajosRealizadosArrayJSON[fila]["subTotal"] = subTotal;
	trabajosRealizadosArrayJSON[fila]["igvTrabajo"] = igvTrabajo;
	trabajosRealizadosArrayJSON[fila]["total"] = total;
	
	var divSubTotal = $(tr).find(".subTotal").eq(0);
	$(divSubTotal).text(subTotal);
	
	var divIgvTrabajo = $(tr).find(".igvTrabajo").eq(0);
	$(divIgvTrabajo).text(igvTrabajo);
	
	var divTotal = $(tr).find(".total").eq(0);
	$(divTotal).text(total);
}

function fnRecalcularTabla(){
	
	var i = 0;
	var dim = trabajosRealizadosArrayJSON.length;
	var trs = $(".trTrabajoRealizado");
	
	var aplicaIgv = $("#aplicaIgv").val();
	var usarIgv = (aplicaIgv == "S")?true:false;

	var costoServicio = 0.0;
	var igvServicio = 0.0;
	var totalServicio = 0.0;
	
	while(i<dim){
		var objJSON = trabajosRealizadosArrayJSON[i];
		
		//Calcular totales x fila
		var strCantidad = objJSON["cantidad"];
		var strCostoTrabajo = objJSON["costoTrabajo"];
		var costoTrabajo = (strCostoTrabajo!="")?parseFloat(strCostoTrabajo):0.0;
		var cantidad = (strCantidad!="")?parseInt(strCantidad):0;
		
		var subTotal = cantidad * costoTrabajo;

		var igvTrabajo = 0;
		if(usarIgv){
			igvTrabajo = (IGV * subTotal)/100;
		}
		
		var total = subTotal + igvTrabajo;
		
		subTotal = subTotal.toFixed(NUM_DECIMALES_PRECIO);
		igvTrabajo = igvTrabajo.toFixed(NUM_DECIMALES_PRECIO);
		total = total.toFixed(NUM_DECIMALES_PRECIO);
		
		trabajosRealizadosArrayJSON[i]["subTotal"] = subTotal;
		trabajosRealizadosArrayJSON[i]["igvTrabajo"] = igvTrabajo;
		trabajosRealizadosArrayJSON[i]["total"] = total;
		
		var divSubTotal = $(trs).eq(i).find(".subTotal").eq(0);
		$(divSubTotal).text(subTotal);
		
		var divIgvTrabajo = $(trs).eq(i).find(".igvTrabajo").eq(0);
		$(divIgvTrabajo).text(igvTrabajo);
		
		var divTotal = $(trs).eq(i).find(".total").eq(0);
		$(divTotal).text(total);
		
		//Tomar los valores para calcular los totales finales
		var strSubTotal = trabajosRealizadosArrayJSON[i]["subTotal"];
		var subTotal = (strSubTotal!="")?parseFloat(strSubTotal):0.0;
		
		var strIgvTrabajo = trabajosRealizadosArrayJSON[i]["igvTrabajo"];
		var igvTrabajo = (strIgvTrabajo!="")?parseFloat(strIgvTrabajo):0.0;
	
		var strTotal = trabajosRealizadosArrayJSON[i]["total"];
		var total = (strTotal!="")?parseFloat(strTotal):0.0;
		
		costoServicio = costoServicio + subTotal;
		igvServicio = igvServicio + igvTrabajo;
		totalServicio = totalServicio + total;
		
		trabajosRealizadosArrayJSON[i]["indicadorDB"] = "1";
		
		i = i + 1;
	}
	
	$("#precioServicio").val(costoServicio.toFixed(NUM_DECIMALES_PRECIO));
	$("#txtPrecioServicio").val(costoServicio.toFixed(NUM_DECIMALES_PRECIO));
	
	$("#igvServicio").val(igvServicio.toFixed(NUM_DECIMALES_PRECIO));
	$("#txtIgvServicio").val(igvServicio.toFixed(NUM_DECIMALES_PRECIO));
	
	$("#totalServicio").val(totalServicio.toFixed(NUM_DECIMALES_PRECIO));
	$("#txtTotalServicio").val(totalServicio.toFixed(NUM_DECIMALES_PRECIO));
}

function fnCalcularMontoTotal(){

	var i = 0;
	var dim = trabajosRealizadosArrayJSON.length;

	var costoServicio = 0.0;
	var igvServicio = 0.0;
	var totalServicio = 0.0;
	
	while(i<dim){
		var objJSON = trabajosRealizadosArrayJSON[i];

		var strSubTotal = trabajosRealizadosArrayJSON[i]["subTotal"];
		var subTotal = (strSubTotal!="")?parseFloat(strSubTotal):0.0;
		
		var strIgvTrabajo = trabajosRealizadosArrayJSON[i]["igvTrabajo"];
		var igvTrabajo = (strIgvTrabajo!="")?parseFloat(strIgvTrabajo):0.0;
	
		var strTotal = trabajosRealizadosArrayJSON[i]["total"];
		var total = (strTotal!="")?parseFloat(strTotal):0.0;
		
		costoServicio = costoServicio + subTotal;
		igvServicio = igvServicio + igvTrabajo;
		totalServicio = totalServicio + total;
		
		i = i + 1;
	}
	
	$("#precioServicio").val(costoServicio.toFixed(NUM_DECIMALES_PRECIO));
	$("#txtPrecioServicio").val(costoServicio.toFixed(NUM_DECIMALES_PRECIO));
	
	$("#igvServicio").val(igvServicio.toFixed(NUM_DECIMALES_PRECIO));
	$("#txtIgvServicio").val(igvServicio.toFixed(NUM_DECIMALES_PRECIO));
	
	$("#totalServicio").val(totalServicio.toFixed(NUM_DECIMALES_PRECIO));
	$("#txtTotalServicio").val(totalServicio.toFixed(NUM_DECIMALES_PRECIO));
	
}

function fnObtenerArrayJSON(idTabla) {
    var arrayJSON = trabajosRealizadosArrayJSON;
    return arrayJSON;
}

///INICIALIZACION DE COMPONENTES
function fnInicializarSelectorFechaServicio(){
	
	if(!verificar){
		$("#fechaServicio").datetimepicker({
				changeMonth: true,
				changeYear: true,
				numberOfMonths: 1,
				dateFormat: 'yy-mm-dd',
				timeFormat: 'HH:mm:ss',
		        currentText: 'Hoy',
		        closeText: 'Cerrar',
		        ampm: false,
		        timeText: 'Hora',
		        hourText: 'Horas',
		        minuteText: 'Minutos',
		        secondText:'Segundos',
		        onSelect: function (selectedDateTime){
	
		        }
		});
	}
	
	$('#fechaServicio').bind("cut copy paste",function(e) {
        e.preventDefault();
    });
	    
}

function fnInicializarCamposNumericos(){
	$('#kmVehiculo').bind("cut copy paste",function(e) {
        e.preventDefault();
    });
	
	var inputKmVehiculo = document.getElementById('kmVehiculo');
	fnCompletaDecimal(inputKmVehiculo,NUM_DECIMALES_KM);

	$('#precioServicio').bind("cut copy paste",function(e) {
        e.preventDefault();
    });
	
	var inputPrecio = document.getElementById('precioServicio');
	var txtInputPrecio = document.getElementById('txtPrecioServicio');
	fnCompletaDecimal(inputPrecio,NUM_DECIMALES_PRECIO);
	fnCompletaDecimal(txtInputPrecio,NUM_DECIMALES_PRECIO);
}

function fnInicializarBuscadorVehiculo(){
	if(!verificar){
		$('#placaBusqueda').keyup(function(e) {
			if ( e.which == 13 ) {
				fnCargarDatosVehiculoPorPlaca();
			}else{
				this.value = this.value.toUpperCase();
			}
	    });
	}
}

function fnCargarVehiculosPorCliente(){
	var idCliente = $("#idCliente").val();
	
	var strOpciones = "";
	if(idCliente == ""){
		
		var objOpciones = $("#idVehiculo").find("option");
		$(objOpciones).remove();
		$("#idVehiculo").append("<option value=''>[Ninguno]</option>");
		
		if(verificar){
			$("#idCliente").attr("disabled","disabled");
			$("#idVehiculo").attr("disabled","disabled");
		}
	}else{
		
		fnCargarVehiculosPorClienteJSON(idCliente,
			function(){
				var i = 0;
				var dim = ARRAY_JSON_VEHICULOS.length;
				
				var strOpciones = "";

				var idVehiculoActual = $("#idVehiculoActual").val();
				if(dim > 0){
	
					strOpciones = "<option value=''>[Seleccione]</option>";
					
					var selected = "";
					while(i<dim){
						var objJSON = ARRAY_JSON_VEHICULOS[i];
						
						if(objJSON["idVehiculo"] == idVehiculoActual){
							selected = "selected='selected'";
						}else{
							selected = "";
						}
						strOpciones = strOpciones + "<option value='"+objJSON["idVehiculo"]+"' "+selected+">"+objJSON["numeroPlaca"]+" - "+objJSON["marcaVehiculo"]+"</option>";
						i = i + 1;
					}
				}else{
					strOpciones = "<option value=''>[Ninguno]</option>";
				}
				
				var objOpciones = $("#idVehiculo").find("option");
				$(objOpciones).remove();
				$("#idVehiculo").append(strOpciones);
				fnCargarDatosVehiculo();

				if(verificar){
					$("#idCliente").attr("disabled","disabled");
					$("#idVehiculo").attr("disabled","disabled");
				}
			}
		);
	}	
}

function fnCargarDatosVehiculo(){
	var idVehiculo = $("#idVehiculo").val();
	
	if(idVehiculo == ""){
		
		$("#marcaVehiculo").val("");
		$("#modeloVehiculo").val("");
		$("#colorVehiculo").val("");
		$("#anioVehiculo").val("");
		$("#idTipoCombustible").val("");

	}else{
		
		var dim = ARRAY_JSON_VEHICULOS.length;
		var i = 0;
		
		var encontrado = false;
		var posicion = -1;
		while(i<dim && !encontrado){
			var vehiculoJSON = ARRAY_JSON_VEHICULOS[i];
			
			if(vehiculoJSON["idVehiculo"] == idVehiculo){
				posicion = i;
				encontrado = true;
			}
			i = i + 1;
		}
		
		if(encontrado){
			var vehiculoJSON = ARRAY_JSON_VEHICULOS[posicion];
			
			$("#marcaVehiculo").val(vehiculoJSON["marcaVehiculo"]);
			$("#modeloVehiculo").val(vehiculoJSON["modeloVehiculo"]);
			$("#colorVehiculo").val(vehiculoJSON["color"]);
			$("#anioVehiculo").val(vehiculoJSON["anio"]);
			$("#idTipoCombustible").val(vehiculoJSON["tipoCombustible"]);

			
		}else{
			$("#marcaVehiculo").val("");
			$("#modeloVehiculo").val("");
			$("#colorVehiculo").val("");
			$("#anioVehiculo").val("");
			$("#idTipoCombustible").val("");
		}
	}
}

function fnCargarDatosVehiculoPorPlaca(){
	var placaBusqueda = $("#placaBusqueda").val();

	placaBusqueda = $.trim(placaBusqueda);
	placaBusqueda = placaBusqueda.toUpperCase(); 
	
	if(placaBusqueda != ""){
		var i = 0;
		var posicion = 0;
		var dim = ARRAY_JSON_VEHICULOS.length;
		var encontrado = false;
		
		var vehiculoJSON = [];
		while(i<dim && !encontrado){
			vehiculoJSON = ARRAY_JSON_VEHICULOS[i];
			
			var numeroPlaca = vehiculoJSON["numeroPlaca"];
			numeroPlaca = numeroPlaca.toUpperCase(); 
			
			if(numeroPlaca.indexOf(placaBusqueda)!=-1){
				encontrado = true;
				posicion = i;
			}
			
			i = i + 1;
		}

		if(encontrado){
			var vehiculoJSON = ARRAY_JSON_VEHICULOS[posicion];
			
			$("#idVehiculo").val(vehiculoJSON["idVehiculo"]);
			$("#placaBusqueda").val(vehiculoJSON["numeroPlaca"]);
			
			//Restaurar el input de marca
			$("#bloqueMarca").html('<input name="data[OrdenTrabajo][marcaVehiculo]" id="marcaVehiculo" type="text" disabled="disabled" value="" />');
			$("#marcaVehiculo").val(vehiculoJSON["marcaVehiculo"]);

			//Restaurar el input de combustible
			$("#bloqueCombustible").html('<input name="data[OrdenTrabajo][idTipoCombustible]" id="idTipoCombustible" type="text" disabled="disabled" value="" />');
			$("#idTipoCombustible").val(vehiculoJSON["tipoCombustible"]);
			
			$("#modeloVehiculo").val(vehiculoJSON["modeloVehiculo"]);
			$("#colorVehiculo").val(vehiculoJSON["color"]);
			$("#anioVehiculo").val(vehiculoJSON["anio"]);
			
			$("#marcaVehiculo").attr("disabled","disabled");
			$("#modeloVehiculo").attr("disabled","disabled");
			$("#colorVehiculo").attr("disabled","disabled");
			$("#anioVehiculo").attr("disabled","disabled");
			$("#idTipoCombustible").attr("disabled","disabled");
		}else{
			$("#idVehiculo").val("");
			$("#marcaVehiculo").val("");
			$("#modeloVehiculo").val("");
			$("#colorVehiculo").val("");
			$("#anioVehiculo").val("");
			$("#idTipoCombustible").val("");
			
			jConfirm('No se encontr\u00f3 al veh\u00edculo , desea crearlo junto con la orden ?',TITULO_MENSAJE, function(r) {
			    if(r){
			    	//Convertir el input de marca en combo
			    	var i = 0;
			    	var dim = ARRAY_JSON_MARCAS_VEHICULOS.length;
			    	var opciones = '<option value="">[Ninguno]</option>';
			    	
			    	while(i<dim){
			    		var vehiculoJSON = ARRAY_JSON_MARCAS_VEHICULOS[i];
			    		opciones = opciones + '<option value="'+vehiculoJSON["idItem"]+'">'+vehiculoJSON["descripcion"]+'</option>';
			    		i = i + 1;
			    	}
			    	
			    	$("#bloqueMarca").html('<select name="data[OrdenTrabajo][idMarcaVehiculo]" id="marcaVehiculo">'+opciones+'</select>');
			    	
			    	//Convertir el input de combustible en combo
			    	i = 0;
			    	dim = ARRAY_JSON_TIPOS_COMBUSTIBLES.length;
			    	opciones = '<option value="">[Ninguno]</option>';
			    	
			    	while(i<dim){
			    		var tipoCombustibleJSON = ARRAY_JSON_TIPOS_COMBUSTIBLES[i];
			    		opciones = opciones + '<option value="'+tipoCombustibleJSON["idItem"]+'">'+tipoCombustibleJSON["descripcion"]+'</option>';
			    		i = i + 1;
			    	}
			    	
			    	$("#bloqueCombustible").html('<select name="data[OrdenTrabajo][idTipoCombustible]" id="idTipoCombustible">'+opciones+'</select>');
			    	
					$("#modeloVehiculo").removeAttr("disabled");
					$("#colorVehiculo").removeAttr("disabled");
					$("#anioVehiculo").removeAttr("disabled");
			    }
			});
		}
	}else{
		$("#idVehiculo").val("");
		
		//Restaurar el input de marca
		$("#bloqueMarca").html('<input name="data[OrdenTrabajo][marcaVehiculo]" id="marcaVehiculo" type="text" disabled="disabled" value="" />');
		
		//Restaurar el input de vehiculo
		$("#bloqueCombustible").html('<input name="data[OrdenTrabajo][idTipoCombustible]" id="idTipoCombustible" type="text" disabled="disabled" value="" />');
		
		$("#marcaVehiculo").val("");
		$("#modeloVehiculo").val("");
		$("#colorVehiculo").val("");
		$("#anioVehiculo").val("");
	}

}

function fnGuardarOrden(){
	var nroOrden = $("#nroOrden").val();
	var idCliente = $("#idCliente").val();
	var placaBusqueda = $("#placaBusqueda").val();
	var marcaVehiculo = $("#marcaVehiculo").val();
	var fechaServicio = $("#fechaServicio").val();
	
	//var tipoComprobante = $("#idComprobanteItem").val();
	var nroComprobante = $("#nroComprobante").val();
	nroComprobante = $.trim(nroComprobante);
	
	var mensaje = "";
	if(nroOrden == ""){
		mensaje = "Ingrese un n\u00famero de orden";
	}else if(idCliente == ""){
		mensaje = "Seleccione un cliente";
	}else if(marcaVehiculo == ""){
		mensaje = "Ingrese un veh\u00edculo";
	}else if(fechaServicio == ""){
		mensaje = "Ingrese una fecha de servicio";	
	}else if(nroComprobante==""){
		mensaje = "Ingrese un comprobante de pago";
	}else{
		var i = 0;
		var dim = trabajosRealizadosArrayJSON.length;
		
		while(i<dim && mensaje == ""){
			var objJSON = trabajosRealizadosArrayJSON[i];
			if(objJSON["descripcionTrabajo"] == ""){
				mensaje = "Ingrese descripci\u00f3n del trabajo realizado";
			}
			i = i + 1;
		}
	}
	
	if(mensaje == ""){
		
		var jsonTrabajosRealizados = JSON.stringify(trabajosRealizadosArrayJSON);
		var jsonTrabajosRealizadosEliminados = JSON.stringify(trabajosRealizadosEliminadosArrayJSON);

		$("#jsonTrabajosRealizados").val(jsonTrabajosRealizados);
		$("#jsonTrabajosRealizadosEliminados").val(jsonTrabajosRealizadosEliminados);
		
		$("#formRegistro").submit();
	}else{
		jAlert(mensaje,TITULO_MENSAJE);
	}
}

function fnCambiarTipoComprobante(){
	var idComprobanteItem = $("#idComprobanteItem").val();
	if(idComprobanteItem == ""){
		$("#aplicaIgv").val("");
		fnRecalcularTabla();
		$("#aplicaIgv").attr("disabled","disabled");
	}else{
		$("#aplicaIgv").removeAttr("disabled");
	}
}

function fnCrearCliente(){
	location.href = contextPath + "/Clientes/nuevo_cliente";
}

function fnCrearVehiculo(){
	location.href = contextPath + "/Vehiculos/nuevo_vehiculo";
}

function fnConsultarOrdenes(){
	location.href = contextPath + "/OrdenesTrabajo/consultar_ordenes";
}

function fnImprimir(){
	var i = 0;
	
	var nroOrden = $("#nroOrden").val();
	var tipoComprobante = $('#idComprobanteItem option:selected').text();
	var nroComprobante = $("#nroComprobante").val();
	var cliente = $('#idCliente option:selected').text();
	var fechaServicio = $("#fechaServicio").val();
	var vehiculo = $("#placaBusqueda").val();
	
	var tipoTagMarca = $("#marcaVehiculo").prev().prop('tagName');
	var marcaVehiculo = "";
	if(tipoTagMarca == "input"){
		marcaVehiculo = $("#marcaVehiculo").val();
	}else{
		marcaVehiculo = $('#marcaVehiculo option:selected').text();
	}
	
	var modeloVehiculo = $("#modeloVehiculo").val();
	var anioVehiculo = $("#anioVehiculo").val();
	var precioServicio = $("#precioServicio").val();
	var igvServicio = $("#igvServicio").val();
	var totalServicio = $("#totalServicio").val();
	var observaciones = $("#observaciones").val();
	
	var dim = trabajosRealizadosArrayJSON.length;
	
	var anchoPagina = 700;
	var htmlImpresion = '<html><head><meta name="robots" content="noindex,nofollow" />'+
						'<link rel="shortcut icon" href="'+contextPath+'/favicon.ico" type="image/x-icon" />'+
					    '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />'+
						'<link href="'+contextPath+'/css/impresion.css" type="text/css" rel="stylesheet" />'+
						'<title>Impresion_Orden_Detallada</title></head><body>'+
						'<div align="center">'+
						'<div class="tituloImpresion">Detalle de &Oacute;rden de Trabajo</div><br />';

	var datosOrden = '<table border="0" cellpadding="0" cellspacing="0" width="'+anchoPagina+'">'+
							'<tr><td width="120" class="etiquetaCelda" align="right">Nro. Orden : </td><td class="etiquetaCelda" align="left">'+nroOrden+'</td></tr>'+
							'<tr><td width="120" class="etiquetaCelda" align="right">Comprobante : </td><td class="etiquetaCelda" align="left">'+tipoComprobante+' '+nroComprobante+'</td></tr>'+
							'<tr><td class="etiquetaCelda" align="right">Cliente : </td><td class="etiquetaCelda" align="left">'+cliente+'</td></tr>'+
							'<tr><td class="etiquetaCelda" align="right">Fecha Servicio : </td><td class="etiquetaCelda" align="left">'+fechaServicio+'</td></tr>'+
							'<tr><td class="etiquetaCelda" align="right">Veh&iacute;culo :</td>'+
								'<td align="left"><label class="etiquetaCelda">'+vehiculo+'</label>&nbsp;&nbsp;&nbsp;'+
									'<label class="etiquetaCelda">Marca :</label>'+
									'<label class="etiquetaCelda">'+marcaVehiculo+'</label>&nbsp;&nbsp;&nbsp;'+
									'<label class="etiquetaCelda">Modelo :</label>'+
									'<label class="etiquetaCelda">'+modeloVehiculo+'</label>&nbsp;&nbsp;&nbsp;'+
									'<label class="etiquetaCelda">A&ntildeo :</label>'+
									'<label class="etiquetaCelda">'+anioVehiculo+'</label>'+
								'</td>'+
							'</tr>'+
						'</table>'+
						'<br />';
	htmlImpresion = htmlImpresion + datosOrden;
	
	var cabeceraTabla = '<table border="0" width="'+anchoPagina+'" cellpadding="0" cellspacing="0">'+
						'<tr>'+
							'<td class="celdaCabecera" align="center">#</td>'+
							'<td class="celdaCabecera" align="center">Descripci&oacute;n Trabajo</td>'+
							'<td class="celdaCabecera celdaFinal" align="center">Costo</td>'+
						'</tr>';
	
	htmlImpresion = htmlImpresion + cabeceraTabla;
	
	while(i<dim){
		var objJSON = trabajosRealizadosArrayJSON[i];
		
		var fila = '<tr><td class="celdaImpresion">'+(i+1)+'</td>'+
					   '<td class="celdaImpresion">'+((objJSON["descripcionTrabajo"]!=null)?objJSON["descripcionTrabajo"]:"-")+'</td>'+
					   '<td class="celdaImpresion celdaFinal">'+((objJSON["costoTrabajo"]!=null)?objJSON["costoTrabajo"]:"-")+'</td>'+
				   '</tr>';

		htmlImpresion = htmlImpresion + fila;
		i = i + 1;
	}
	
	htmlImpresion = htmlImpresion + '</table><br />'+
									'<table width="'+anchoPagina+'" border="0" cellpadding="0" cellspacing="0">'+
									'<tr><td class="etiquetaCelda" align="right">Costo Servicio :</td>'+
										'<td align="left">'+
											'<label class="etiquetaCelda">'+precioServicio+'</label>&nbsp;&nbsp;&nbsp;'+
											'<label class="etiquetaCelda">IGV :</label>'+
											'<label class="etiquetaCelda">'+igvServicio+'</label>&nbsp;&nbsp;&nbsp;'+
											'<label class="etiquetaCelda">Total Servicio :</label>'+
											'<label class="etiquetaCelda">'+totalServicio+'</label>'+
										'</td>'+
									'</tr>'+
									'<tr><td class="etiquetaCelda" valign="top" align="right" width="100">Observaciones : </td>'+
										'<td valign="top" align="left"><textarea disabled="disabled" style="resize: none;font-family:Arial, Helvetica, sans-serif;font-size:12px;width:100%;" rows="10">'+observaciones+'</textarea></td>'+
									'</tr>'+
									'</table><br />'+
									'</div></body></html>';
	
	var ventimp = window.open('','popimpr');
	ventimp.document.write(htmlImpresion);
	ventimp.document.close();

	ventimp.print();
	ventimp.close(); 

}